--2022-7-23

--注意代码不需要以;来分割

function  fact(n) -- 定义函数的头以及函数名称和参数
    if n == 0 then -- then 到 end 代表函数的代码块的头和尾
        return 1
    else
        return n*fact(n-1)
    end
end --end 结束代码段
print("enter a number:")
a = io.read("*n") --io.read 读入数字
print(fact(a))

--[[
    补充 --2022-8-5

    1 在控制台中可以直接 lua进入交互模式 然后输入语句
    2 也可以 在进入交互模式之后 使用例如 lua text.lua或text.txt 执行文本文件 因为lua语言也可以被作为数据定义语言
    3 在交互模式下 退出交互模式
        输入EOF控制字符
            End-OF-File
            POSIX环境下使用Ctrl-D
            Windows环境下使用Ctrl-Z
        或者调用操作系统库的exit函数(执行os.exit())
]]